[INFO] cloning repository https://github.com/AmodioMerone/rustcord
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AmodioMerone/rustcord" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmodioMerone%2Frustcord", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmodioMerone%2Frustcord'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2539bb5abe9098f7d054c83bc673a10d4c401428
[INFO] fixing AmodioMerone/rustcord against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmodioMerone%2Frustcord" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  58% (1216/2075)
Updating files:  59% (1225/2075)
Updating files:  60% (1245/2075)
Updating files:  61% (1266/2075)
Updating files:  62% (1287/2075)
Updating files:  63% (1308/2075)
Updating files:  64% (1328/2075)
Updating files:  65% (1349/2075)
Updating files:  66% (1370/2075)
Updating files:  66% (1386/2075)
Updating files:  67% (1391/2075)
Updating files:  68% (1411/2075)
Updating files:  69% (1432/2075)
Updating files:  70% (1453/2075)
Updating files:  71% (1474/2075)
Updating files:  71% (1478/2075)
Updating files:  72% (1494/2075)
Updating files:  73% (1515/2075)
Updating files:  74% (1536/2075)
Updating files:  75% (1557/2075)
Updating files:  75% (1574/2075)
Updating files:  76% (1577/2075)
Updating files:  77% (1598/2075)
Updating files:  78% (1619/2075)
Updating files:  79% (1640/2075)
Updating files:  80% (1660/2075)
Updating files:  81% (1681/2075)
Updating files:  82% (1702/2075)
Updating files:  83% (1723/2075)
Updating files:  84% (1743/2075)
Updating files:  85% (1764/2075)
Updating files:  86% (1785/2075)
Updating files:  87% (1806/2075)
Updating files:  88% (1826/2075)
Updating files:  89% (1847/2075)
Updating files:  90% (1868/2075)
Updating files:  91% (1889/2075)
Updating files:  92% (1909/2075)
Updating files:  93% (1930/2075)
Updating files:  94% (1951/2075)
Updating files:  95% (1972/2075)
Updating files:  96% (1992/2075)
Updating files:  97% (2013/2075)
Updating files:  98% (2034/2075)
Updating files:  99% (2055/2075)
Updating files: 100% (2075/2075)
Updating files: 100% (2075/2075), done.
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/AmodioMerone/rustcord
[INFO] finished tweaking git repo https://github.com/AmodioMerone/rustcord
[INFO] tweaked toml for git repo https://github.com/AmodioMerone/rustcord written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AmodioMerone/rustcord on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AmodioMerone/rustcord already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1e46e89b754bf36584d3d21a1c0025812af114309f5db9551ac8c76060792130
[INFO] running `Command { std: "docker" "start" "1e46e89b754bf36584d3d21a1c0025812af114309f5db9551ac8c76060792130", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1e46e89b754bf36584d3d21a1c0025812af114309f5db9551ac8c76060792130" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e46e89b754bf36584d3d21a1c0025812af114309f5db9551ac8c76060792130", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1e46e89b754bf36584d3d21a1c0025812af114309f5db9551ac8c76060792130" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating crates/protocol/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking memchr v2.8.1
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking http v1.4.1
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling log v0.4.30
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling uuid v1.23.2
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]    Compiling dart-sys v4.1.5
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]     Checking rustc-demangle v0.1.27
[INFO] [stderr]    Compiling build-target v0.4.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling flutter_rust_bridge v2.12.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking rustcord-protocol v0.0.0 (/opt/rustwide/workdir/crates/protocol)
[INFO] [stderr]    Migrating crates/protocol/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking atomic v0.5.3
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking backon v1.6.0
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking arc-swap v1.9.1
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling flutter_rust_bridge_macros v2.12.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling axum-macros v0.5.1
[INFO] [stderr]    Compiling delegate-attr v0.3.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking allo-isolate v0.1.27
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking rustcord-core v0.0.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Migrating crates/core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking redis v0.27.6
[INFO] [stderr]     Checking sqlx-postgres v0.8.6
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/client.rs:221:70
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let rest = RestClient::new(server_url.clone(), g.http.clone(), g.tokens.clone());
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rest` calls a custom destructor
[INFO] [stdout]     |         `rest` will be dropped later as of Edition 2024
[INFO] [stdout] 221 |     match rest.register(&username, &display_name, &email, &password).await {
[INFO] [stdout]     |                                                                      ^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 236 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rest` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/client.rs:247:46
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let rest = RestClient::new(server_url.clone(), g.http.clone(), g.tokens.clone());
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rest` calls a custom destructor
[INFO] [stdout]     |         `rest` will be dropped later as of Edition 2024
[INFO] [stdout] 247 |     match rest.login(&identifier, &password).await {
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 262 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rest` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/client.rs:335:6
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let rest = rest_handle().await?;
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rest` calls a custom destructor
[INFO] [stdout]     |         `rest` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 335 |     .await
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 336 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rest` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/client.rs:341:81
[INFO] [stdout]     |
[INFO] [stdout] 340 |     let rest = rest_handle().await?;
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rest` calls a custom destructor
[INFO] [stdout]     |         `rest` will be dropped later as of Edition 2024
[INFO] [stdout] 341 |     retry_on_expired(&rest, |r| async { r.clear_push_token(&device_id).await }).await
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 342 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rest` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/client.rs:1103:32
[INFO] [stdout]      |
[INFO] [stdout] 1099 |         let guard = g.session.lock().await;
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `guard` calls a custom destructor
[INFO] [stdout]      |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1103 |         session.rest.friends().await
[INFO] [stdout]      |                                ^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1104 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/transport/native.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 137 |         while let Some(frame) = self.stream.next().await {
[INFO] [stdout]     |                                                    -----
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 138 |             match frame.map_err(|e| CoreError::Transport(e.to_string()))? {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 139 |                 Message::Text(t) => return Ok(Some(t.to_string())),
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `t` calls a custom destructor
[INFO] [stdout]     |                               `t` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 145 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `t` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/transport/native.rs:137:33
[INFO] [stdout]     |
[INFO] [stdout] 137 |         while let Some(frame) = self.stream.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |                  |
[INFO] [stdout]     |                                 |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 138 |             match frame.map_err(|e| CoreError::Transport(e.to_string()))? {
[INFO] [stdout] 139 |                 Message::Text(t) => return Ok(Some(t.to_string())),
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `t` calls a custom destructor
[INFO] [stdout]     |                               `t` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 145 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `t` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/client.rs:221:70
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let rest = RestClient::new(server_url.clone(), g.http.clone(), g.tokens.clone());
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rest` calls a custom destructor
[INFO] [stdout]     |         `rest` will be dropped later as of Edition 2024
[INFO] [stdout] 221 |     match rest.register(&username, &display_name, &email, &password).await {
[INFO] [stdout]     |                                                                      ^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 236 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rest` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/client.rs:247:46
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let rest = RestClient::new(server_url.clone(), g.http.clone(), g.tokens.clone());
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rest` calls a custom destructor
[INFO] [stdout]     |         `rest` will be dropped later as of Edition 2024
[INFO] [stdout] 247 |     match rest.login(&identifier, &password).await {
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 262 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rest` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/client.rs:335:6
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let rest = rest_handle().await?;
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rest` calls a custom destructor
[INFO] [stdout]     |         `rest` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 335 |     .await
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 336 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rest` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/client.rs:341:81
[INFO] [stdout]     |
[INFO] [stdout] 340 |     let rest = rest_handle().await?;
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `rest` calls a custom destructor
[INFO] [stdout]     |         `rest` will be dropped later as of Edition 2024
[INFO] [stdout] 341 |     retry_on_expired(&rest, |r| async { r.clear_push_token(&device_id).await }).await
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 342 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rest` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/client.rs:1103:32
[INFO] [stdout]      |
[INFO] [stdout] 1099 |         let guard = g.session.lock().await;
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `guard` calls a custom destructor
[INFO] [stdout]      |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1103 |         session.rest.friends().await
[INFO] [stdout]      |                                ^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1104 |     };
[INFO] [stdout]      |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/transport/native.rs:138:19
[INFO] [stdout]     |
[INFO] [stdout] 137 |         while let Some(frame) = self.stream.next().await {
[INFO] [stdout]     |                                                    -----
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 138 |             match frame.map_err(|e| CoreError::Transport(e.to_string()))? {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 139 |                 Message::Text(t) => return Ok(Some(t.to_string())),
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `t` calls a custom destructor
[INFO] [stdout]     |                               `t` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 145 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `t` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/transport/native.rs:137:33
[INFO] [stdout]     |
[INFO] [stdout] 137 |         while let Some(frame) = self.stream.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |                  |
[INFO] [stdout]     |                                 |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 138 |             match frame.map_err(|e| CoreError::Transport(e.to_string()))? {
[INFO] [stdout] 139 |                 Message::Text(t) => return Ok(Some(t.to_string())),
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `t` calls a custom destructor
[INFO] [stdout]     |                               `t` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 145 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `t` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking rustcord-server v0.0.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr]    Migrating crates/server/src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/server/src/config.rs (32 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/call.rs:469:36
[INFO] [stdout]     |
[INFO] [stdout] 468 |     let mut conn = state.redis();
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `conn` calls a custom destructor
[INFO] [stdout]     |         `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 469 |     Ok(conn.get(user_key(user_id)).await?)
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 470 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `conn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arc-swap-1.9.1/src/lib.rs:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | impl<T: RefCnt, S: Strategy<T>> Drop for ArcSwapAny<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/ws.rs:1162:29
[INFO] [stdout]      |
[INFO] [stdout] 1162 |     while let Some(frame) = stream.next().await {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                             |             |
[INFO] [stdout]      |                             |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1163 |         let frame = frame.ok()?;
[INFO] [stdout]      |             -----   -----------
[INFO] [stdout]      |             |       |
[INFO] [stdout]      |             |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |             |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `frame` calls a custom destructor
[INFO] [stdout]      |             `frame` will be dropped later as of Edition 2024
[INFO] [stdout] 1164 |         match frame {
[INFO] [stdout] 1165 |             Message::Text(text) => {
[INFO] [stdout]      |                           ----
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `text` calls a custom destructor
[INFO] [stdout]      |                           `text` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1176 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `frame` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/call.rs:469:36
[INFO] [stdout]     |
[INFO] [stdout] 468 |     let mut conn = state.redis();
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `conn` calls a custom destructor
[INFO] [stdout]     |         `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 469 |     Ok(conn.get(user_key(user_id)).await?)
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 470 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `conn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arc-swap-1.9.1/src/lib.rs:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | impl<T: RefCnt, S: Strategy<T>> Drop for ArcSwapAny<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/ws.rs:1162:29
[INFO] [stdout]      |
[INFO] [stdout] 1162 |     while let Some(frame) = stream.next().await {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                             |             |
[INFO] [stdout]      |                             |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1163 |         let frame = frame.ok()?;
[INFO] [stdout]      |             -----   -----------
[INFO] [stdout]      |             |       |
[INFO] [stdout]      |             |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |             |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `frame` calls a custom destructor
[INFO] [stdout]      |             `frame` will be dropped later as of Edition 2024
[INFO] [stdout] 1164 |         match frame {
[INFO] [stdout] 1165 |             Message::Text(text) => {
[INFO] [stdout]      |                           ----
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `text` calls a custom destructor
[INFO] [stdout]      |                           `text` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1176 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `frame` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `text` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 46s
[INFO] [stderr] crater-edition-check: rustcord-protocol v0.0.0 (/opt/rustwide/workdir/crates/protocol) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: rustcord-core v0.0.0 (/opt/rustwide/workdir/crates/core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: rustcord-server v0.0.0 (/opt/rustwide/workdir/crates/server) updating edition from 2021 to 2024
[INFO] [stderr]     Checking rustcord-protocol v0.0.0 (/opt/rustwide/workdir/crates/protocol)
[INFO] [stderr]     Checking rustcord-server v0.0.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr]     Checking rustcord-core v0.0.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stdout] warning: method `others` is never used
[INFO] [stdout]   --> crates/server/src/call.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl Room {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn others(&self, user_id: &str) -> Vec<UserId> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plus_tag_variants_are_NOT_deduplicated` should have a snake case name
[INFO] [stdout]     --> crates/server/src/tests.rs:4143:8
[INFO] [stdout]      |
[INFO] [stdout] 4143 |     fn plus_tag_variants_are_NOT_deduplicated() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `plus_tag_variants_are_not_deduplicated`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gmail_dot_variants_are_NOT_deduplicated` should have a snake case name
[INFO] [stdout]     --> crates/server/src/tests.rs:4156:8
[INFO] [stdout]      |
[INFO] [stdout] 4156 |     fn gmail_dot_variants_are_NOT_deduplicated() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gmail_dot_variants_are_not_deduplicated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "1e46e89b754bf36584d3d21a1c0025812af114309f5db9551ac8c76060792130", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e46e89b754bf36584d3d21a1c0025812af114309f5db9551ac8c76060792130", kill_on_drop: false }`
[INFO] [stdout] 1e46e89b754bf36584d3d21a1c0025812af114309f5db9551ac8c76060792130
